'''
编写一个名为 remove_duplicates 的函数，它接收一个有序的字符串列表作为参数，从
列表中删除那些重复项（即相邻多个元素相同时仅仅保留一个元素），返回 None。例如，
如果列表在调用函数之前为['be', 'be', 'is', 'not', 'or', 'question', 'that', 'the', 'to', 'to']，
则在调用该函数之后，列表应该是['be', 'is', 'not', 'or', 'question', 'that', 'the', 'to']，
由于列表是有序的，因此所有重复项将组合在一起。假设列表中的元素都是字符串，但注意列表可能是空列表
'''
import sys


def remove_duplicates(list_a):
    #结果存在list_a,list_b为复制表
    list_b = list_a.copy()
    if list_a == []:
        print(list_a)
    else:
        for i in range(len(list_b)-1):
            if list_b[i] == list_b[i+1]:
                list_a.remove(list_b[i])
        print(list_a)
    return

list_test = ['be', 'be', 'be', 'is', 'not', 'or', 'question', 'that', 'the', 'to', 'to', 'to']
remove_duplicates(list_test)

'''
编写一个名为 is_magic_square 的函数，它接收一个二维的整数列表作为参数，如果它是一个幻方，则返回 True，否则返回 False。
如果一个矩阵是方形矩阵（行和列的个数相等），并且每一行、每一列、以及两条对角线上的数的和相等，则它是一个幻方。
例如[[2, 7, 6], [9, 5, 1], [4, 3, 8]]是 1 个幻方，因为行、列和对角线上的数的和都是 15。假设传递的
参数一定二维的整数列表，但是如果其不是一个方形矩阵时，应该抛出异常 ValueError
'''
import traceback
def is_magic_square(list):
    for sub_list in list:
        if len(sub_list) != len(list):
            raise Exception("ValueError,该列表非方形矩阵")
    sum_1 = []#每行之和构成的列表
    for sub_list in list:
        sum = 0
        for i in sub_list:
            sum = sum+i
        sum_1.append(sum)
    if len(set(sum_1))!=1:
        print(False)
        sys.exit()
    sum_2 = []#每列之和构成的列表
    for i in range(len(list)):
        sum = 0
        for sub_list in list:
            sum = sum+sub_list[i]
        sum_2.append(sum)
    if len(set(sum_2))!=1:
        print(False)
        sys.exit()
    #对角线
    sum_n, sum_m = 0,0 #两条对角线元素和
    for i in range(len(list)):
        sum_n = sum_n+list[i][i]
        sum_m = sum_n+list[i]

    return
is_magic_square([1,1,1])